﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PerfTestLib.Spec
{
    /// <summary>
    /// Test iteration.
    /// </summary>
    /// <typeparam name="TData"> Test data type. </typeparam>
    public class TestSpecIteration<TData>
    {
        public string Id { get; set; }

        /// <summary>
        /// Test data.
        /// </summary>
        public TData[] Data { get; set; }

        /// <summary>
        /// Execution count.
        /// </summary>
        public int RepeatCount { get; set; }

        /// <summary>
        /// Max degree of parallism.
        /// </summary>
        public int MaxParallelism { get; set; }


        /// <summary>
        /// Ctor.
        /// </summary>
        public TestSpecIteration(string id, TData[] data, int count, int maxParallelism)
        {
            this.Id = id;
            this.Data = data;
            this.RepeatCount = count;
            this.MaxParallelism = maxParallelism;
        }
    }
}
